Шаг 6. Сбрасываем коммиты с использованием смешанного режима
В этом шаге мы посмотрим, как работает опция --mixed — смешанный режим. Как мы уже говорили, это опция по умолчанию, её необязательно прописывать. Поэтому такие команды идентичны: git reset hash и git reset --mixed hash.
Выведем два последних коммита, используя команду git log --oneline -2.
Затем удалим коммит с хэшем 3eac92b. Для этого в команду git reset передадим хэш предыдущего коммита — 2dd37fe. Введём команду в Git Bash — git reset --mixed 2dd37fe.
После ввода команды указатель HEAD был сброшен до коммита с хэшем 2dd37fe. Проверим это, введём команду git log --oneline -2.
Теперь указатель HEAD находится на коммите с хэшем 2dd37fe. Но это ещё не всё.
Сейчас файл подсвечен жёлтым цветом, и рядом с ним установлена буква «M». Дело в том, что мы удалили только коммит, но изменения, которые в нём содержались, остались. Напомним, изменения удаляются вместе с коммитом только при опции --hard. Поэтому сейчас файл находится в статусе «Модифицированный». Для проверки напишем команду git status.
Файл помечен красный цветом, это означает, что он ещё не добавлен в индекс. Добавлять в индекс мы его не будем, просто отменим изменение с помощью команды git reset --hard.
Теперь index.html выглядит точно так же, как если бы мы не прописали git revert. Вы также можете повторно сделать фиксацию изменений, а не отменять их. Это уже зависит от того, что именно вам нужно.